package cqie.personal.frame.service;

import cqie.personal.frame.bo.AddModifyMenuBO;
import cqie.personal.frame.bo.GetMenuBO;
import cqie.personal.frame.entity.MenuInfo;
import com.baomidou.mybatisplus.extension.service.IService;
import cqie.personal.frame.exception.ValidationFailException;
import cqie.personal.frame.vo.MenuView;
import cqie.personal.frame.vo.PageVO;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;
import java.util.Map;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author Yeeeeee
 * @since 2021-09-03
 */
public interface MenuInfoService extends IService<MenuInfo> {

    boolean addMenu(AddModifyMenuBO menuBO) throws ValidationFailException;

    PageVO<List<MenuInfo>> getMenu(GetMenuBO getMenuBO) throws ValidationFailException;

    boolean modifyMenu(AddModifyMenuBO addModifyMenuBO , MultipartFile file) throws ValidationFailException;

    List<List<MenuView>>  getTreeMenu();

    List<MenuView> getTreeMenu2();

    List<MenuView> getUserMenu(Integer uid) throws ValidationFailException;
}
